﻿1. 为赵云此人进行开户开卡操作，赵云身份证：420107199904054233
declare @Zy varchar(20), @Zyp varchar(20),@ZyN varchar(20),@ZyT smalldatetime
set @Zy='420107199904054233'
set @Zyp='12345678978'
set @ZyN='赵云'
set @ZyT=GETDATE()
insert AccountInfo values(@Zy,@Zyp,@ZyN,@ZyT)

declare @zyc varchar(30),@zyi int, @zym varchar(30),@zyq money ,@zyz int, @zyti smalldatetime
set @zyc='6225547854165656'
set @zyi='4'
set @zym='123456'
set @zyq='500000'
set @zyz='1'
set @zyti=GETDATE()
insert BankCard values(@zyc,@zyi,@zym,@zyq,@zyz,@zyti)



--2. 需要求出张飞的银行卡卡号和余额，张飞身份证：420107199602034138  （1.使用连接查询，2.使用变量）
declare @ZF varchar(20),@Carmoney money
select @ZF= CardNo from AccountInfo inner join BankCard on AccountInfo.AccountId=BankCard.AccountId where BankCard.AccountId='3'
select @Carmoney= CardMoney from AccountInfo inner join BankCard on AccountInfo.AccountId=BankCard.AccountId where BankCard.AccountId='3'
print @ZF
print @Carmoney
--#### 逻辑控制

-- 条件分支if-else



--​	3.某用户银行卡号为“6225547854125656”，该用户执行取钱操作，取钱5000元，余额充足则进行取钱操作，并提示"取钱成功"，否则提示“余额不足”。
declare @Money money
select @Money=CardMoney from BankCard where CardNo='6225547854125656'
print @Money
if @Money>=5000
begin 
	 set @Money=@Money-5000
	 print'取钱成功'
	 print @Money
end
else  print'余额不足'
-- 条件分支:case-when




--​	4.查询银行卡信息，将银行卡状态1,2,3,4分别转换为汉字“正常,挂失,冻结,注销”，并且根据银行卡余额显示银行卡等级 30万以下为“普通用户”,30万及以上为"VIP用户"，
----显示列分别为卡号，身份证，姓名，余额，用户等级，银行卡状态。

select CardNo 卡号,AccountCode 身份证,RealName 姓名,CardMoney 余额,
case 
when CardMoney>=300000 then 'VIP用户'
when CardMoney>=0 then '普通用户'
else '无'
end '用户等级',
case
when CardState='1' then '正常'
when CardState='2' then '挂失'
when CardState='3' then '冻结'
when CardState='4' then '注销'
end '银行卡状态'
from BankCard inner join AccountInfo on BankCard.AccountId=AccountInfo.AccountId
--**while**



--​	5.循环打印1-10。
declare @a int=1
while (@a<=10)
begin
 set  @a=@a+1
	print @a
end


6、99乘法表
declare @i int = 1

while @i<=9
begin
	declare @j int = 1
	declare @result varchar(500) = ''
	while @j<=@i
	begin
	
	set @result = @result + cast(@i as varchar(1)) + ' * ' + cast(@j as varchar(1)) + ' = '+ cast(@i*@j as varchar(1)) + char(9)
		set @j =@j + 1	
	end
	print @result
	set @i = @i + 1
end